table of contents
WAIT4(2) | Руководство программиста Linux | WAIT4(2) |
ИМЯ¶
wait3, wait4 - ожидает смену состояния в стиле BSD
ОБЗОР¶
#include <sys/types.h> #include <sys/time.h> #include <sys/resource.h> #include <sys/wait.h> pid_t wait3(int *status, int options, struct rusage *rusage); pid_t wait4(pid_t pid, int *status, int options, struct rusage *rusage);
Требования
макроса
тестирования
свойств
для glibc (см.
feature_test_macros(7)):
wait3():
wait4():
ОПИСАНИЕ¶
Системные вызовы wait3() и wait4() похожи на waitpid(2), но дополнительно возвращают информацию об использовании ресурсов потомком в структуре, указываемой rusage.
Помимо использования аргумента rusage, вызов wait3():
эквивалентен:
wait3(status, options, rusage);
Подобно этому, вызов wait4():
waitpid(-1, status, options);
эквивалентен:
wait4(pid, status, options, rusage);
Другими словами, wait3() ожидает любого потомка, а для wait4() может быть указан определённый потомок или потомки, которых нужно ожидать. Подробней см. wait(2).
waitpid(pid, status, options);
Если rusage не равно NULL, то struct rusage, на которую он указывает, будет заполнен информацией о работе потомка. Подробней см. getrusage(2).
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ¶
Как в waitpid(2).
ОШИБКИ¶
Как в waitpid(2).
СООТВЕТСТВИЕ СТАНДАРТАМ¶
4.3BSD.
ЗАМЕЧАНИЯ¶
Включать <sys/time.h> в настоящее время не требуется, но это увеличивает переносимость. (Безусловно, в <sys/resource.h> определена структура rusage с полями типа struct timeval, которая определена в <sys/time.h>.)
В Linux, wait3() является библиотечной функцией, реализованной на основе системного вызова wait4().
СМОТРИТЕ ТАКЖЕ¶
fork(2), getrusage(2), sigaction(2), signal(2), wait(2), signal(7)
2010-09-20 | Linux |